#include "Comm.hpp"

int main()
{
    //获取key值
    key_t key = GetKey();
    //获取共享内存的标识
    int shmid = GetShm(key);
    //和共享内存建立映射
    char* ptr = (char*)shmat(shmid, nullptr, 0);
    //以写的方式打开命名管道
    int fd = open(filename.c_str(), O_WRONLY);

    //写入数据
    for(char ch = 'a'; ch <= 'z'; ch++)
    {
        ptr[ch -'a'] = ch;
        //该字段没有任何作用，只是用来唤醒服务端进行读取操作
        int code = 1;
        ssize_t n = write(fd, &code, sizeof(int));
        if(n< 0)
        {
            std::cout << "write fail" << std::endl;
            break;
        }
        sleep(1);
    }
    //关闭共享内存的映射以及管道文件
    shmdt(ptr);
    close(fd);
    return 0;
}